import { defineStore } from 'pinia'
import { reactive } from 'vue'

const useUser = defineStore('user', () => {
    const defaultUser = {
        isLogin: false,
        username: '',
        avatar: '',
    }
    const user = reactive(Object.assign({}, defaultUser))

    const updateUser = options => {
        Object.assign(user, options)
        return user
    }
    const removeUser = () => {
        Object.assign(user, defaultUser)
        return user
    }
    return { user, updateUser, removeUser }, {
        persist: {
            enable: true,
            strategies: [{
                key: 'user',
                storage: localStorage
            }]
        }
    }
})

export default useUser